home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1984 July / 1984-07.d64 / revised mlx_64 (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  103 lines

  1. 10 rem lines changed from mlx version 2.00 are 750,765,770 and 860
  2. 100 print"[147][153]";chr$(142);chr$(8);:poke53281,1:poke53280,1
  3. 101 poke 788,52:rem disable run/stop
  4. 110 print"                                       ";
  5. 120 print"              [146][223][169]   [223][146][223][169][169]              ";
  6. 130 print"               [165]  [146][169][169][223][146][223]              ";
  7. 140 print"                                         "
  8. 200 print"[156][144] machine language editor version 2.01"
  9. 210 print"[152][145][145]starting address?        [157][157][157][157][157][157][157][157][157]";
  10. 215 inputs:f=1-f:c$=chr$(31+119*f)
  11. 220 ifs<256or(s>40960ands<49152)ors>53247thengosub3000:goto210
  12. 225 print:print:print
  13. 230 print"[152][145][145]ending address?        [157][157][157][157][157][157][157][157][157]";:inpute:f=1-f:c$=chr$(31+119*f)
  14. 240 ife<256or(e>40960ande<49152)ore>53247thengosub3000:goto230
  15. 250 ife<sthenprintc$;"ending < start  ":gosub1000:goto 230
  16. 260 print:print:print
  17. 300 print"[147]";chr$(14):ad=s:pokev+21,0
  18. 310 a=1:printright$("0000"+mid$(str$(ad),2),5);":";
  19. 315 forj=ato6
  20. 320 gosub570:ifn=-1thenj=j+n:goto320
  21. 390 ifn=-211then 710
  22. 400 ifn=-204then 790
  23. 410 ifn=-206thenprint:input"[197]nter [206]ew [193]ddress";zz
  24. 415 ifn=-206thenifzz<sorzz>ethenprint"out of range":gosub1000:goto410
  25. 417 ifn=-206thenad=zz:print:goto310
  26. 420 if n<>-196 then 480
  27. 430 print:input"[196]isplay:[198]rom";f:print,"[212]o";:inputt
  28. 440 iff<sorf>eort<sort>ethenprint"[193]t least";s;"[157], not more than";e:goto430
  29. 450 fori=ftotstep6:print:printright$("0000"+mid$(str$(i),2),5);":";
  30. 451 fork=0to5:n=peek(i+k):printright$("00"+mid$(str$(n),2),3);",";
  31. 460 geta$:ifa$>""thenprint:print:goto310
  32. 470 nextk:printchr$(20);:nexti:print:print:goto310
  33. 480 ifn<0 then print:goto310
  34. 490 a(j)=n:nextj
  35. 500 cksum=ad-int(ad/256)*256:fori=1to6:cksum=(cksum+a(i))and255:next
  36. 510 printchr$(18);:gosub570:printchr$(146);
  37. 511 ifn=-1thena=6:goto315
  38. 515 printchr$(20):ifn=cksumthen530
  39. 520 print:print"[204]ine [197]ntered [215]rong : [210]e-enter":print:gosub1000:goto310
  40. 530 gosub2000
  41. 540 fori=1to6:pokead+i-1,a(i):next:poke54272,0:poke54273,0
  42. 550 ad=ad+6:if ad<e then 310
  43. 560 goto 710
  44. 570 n=0:z=0
  45. 580 print"[168]";
  46. 581 geta$:ifa$=""then581
  47. 582 av=-(a$="m")-2*(a$=",")-3*(a$=".")-4*(a$="j")-5*(a$="k")-6*(a$="l")
  48. 583 av=av-7*(a$="u")-8*(a$="i")-9*(a$="o"):ifa$="h"thena$="0"
  49. 584 ifav>0thena$=chr$(48+av)
  50. 585 printchr$(20);:a=asc(a$):ifa=13ora=44ora=32then670
  51. 590 ifa>128thenn=-a:return
  52. 600 ifa<>20 then 630
  53. 610 gosub690:ifi=1andt=44thenn=-1:print"[146][157] [157]";:goto690
  54. 620 goto570
  55. 630 ifa<48ora>57then580
  56. 640 printa$;:n=n*10+a-48
  57. 650 ifn>255 then a=20:gosub1000:goto600
  58. 660 z=z+1:ifz<3then580
  59. 670 ifz=0thengosub1000:goto570
  60. 680 print",";:return
  61. 690 s%=peek(209)+256*peek(210)+peek(211)
  62. 691 fori=1to3:t=peek(s%-i)
  63. 695 ift<>44andt<>58thenpokes%-i,32:next
  64. 700 printleft$("[157][157][157]",i-1);:return
  65. 710 print"[147]*** [211]ave ***"
  66. 715 print"([208]ress [210][197][212][213][210][206][146] alone to cancel save)"
  67. 720 f$="":input" [198]ilename";f$:iff$=""thenprint:print:goto310
  68. 730 print:print"[212][146]ape or [196][146]isk: ([212]/[196])"
  69. 740 geta$:ifa$<>"t"anda$<>"d"then740
  70. 750 dv=1-7*(a$="d"):ifdv=8thenf$="0:"+f$:open15,8,15,"s"+f$:close15
  71. 760 t$=f$:zk=peek(53)+256*peek(54)-len(t$):poke782,zk/256
  72. 762 poke781,zk-peek(782)*256:poke780,len(t$):sys65469
  73. 763 poke780,1:poke781,dv:poke782,1:sys65466
  74. 765 k=s:poke254,k/256:poke253,k-peek(254)*256:poke780,253
  75. 766 k=e+1:poke782,k/256:poke781,k-peek(782)*256:sys65496
  76. 770 if(peek(783)and1)or(191andst)then780
  77. 775 print"[196]one.":goto310
  78. 780 print"[197]rror on [211]ave.  [212]ry again.":ifdv=1then720
  79. 781 open15,8,15:input#15,e1$,e2$:printe1$;e2$:close15:goto720
  80. 790 print"[147]*** [204]oad ***"
  81. 795 print"([208]ress [210][197][212][213][210][206][146] alone to cancel load)"
  82. 800 f$="":input" [198]ilename";f$:iff$=""thenprint:goto310
  83. 810 print:print"[212][146]ape or [196][146]isk: ([212]/[196])"
  84. 820 geta$:ifa$<>"t"anda$<>"d"then820
  85. 830 dv=1-7*(a$="d"):ifdv=8thenf$="0:"+f$
  86. 840 t$=f$:zk=peek(53)+256*peek(54)-len(t$):poke782,zk/256
  87. 841 poke781,zk-peek(782)*256:poke780,len(t$):sys65469
  88. 845 poke780,1:poke781,dv:poke782,1:sys65466
  89. 850 poke780,0:sys65493
  90. 860 if(peek(783)and1)or(191andst)then870
  91. 865 print"[196]one.":goto310
  92. 870 print"[197]rror on [204]oad.  [212]ry again.":ifdv=1then800
  93. 880 open15,8,15:input#15,e1$,e2$:printe1$;e2$:close15:goto800
  94. 1000 rem buzzer
  95. 1001 poke54296,15:poke54277,45:poke54278,165
  96. 1002 poke54276,33:poke 54273,6:poke54272,5
  97. 1003 fort=1to200:next:poke54276,32:poke54273,0:poke54272,0:return
  98. 2000 rem bell sound
  99. 2001 poke54296,15:poke54277,0:poke54278,247
  100. 2002 poke 54276,17:poke54273,40:poke54272,0
  101. 2003 fort=1to100:next:poke54276,16:return
  102. 3000 printc$;"not zero page or rom":goto1000
  103.